package com.example.design.shejimoshi.action.state.状态机实现方式三状态模式.inter;

import com.example.design.shejimoshi.action.state.enums.State;

/**
 * @Description 马里奥。状态类，定义了所有事件
 * @date 2022/11/2 13:22
 * @Author liuzhihui
 * @Version 1.0
 */
public interface IMario {
    State getName();

    // 以下定义不同状态下的事件

    /**
     * 获取蘑菇，变身超级马里奥,加100分
     */
    void obtainMushRoom();

    /**
     * 获取斗篷，变成斗篷马里奥，加200分
     */
    void obtainCape();

    /**
     * 获取火焰，变身火焰马里奥，加300分
     */
    void obtainFireFlower();

    /**
     * 遇见怪兽，变成小马里奥，并减分
     */
    void obtainMonster();
}
